草庐IT

Javascript toFixed 不舍入

全部标签

ruby-on-rails - Ruby:Ruby 中的舍入 float

我在四舍五入时遇到问题。我有一个float,我想将其四舍五入到小数点后的百分之一。但是,我只能使用.round,它基本上将它变成一个int,意思是2.34.round#=>2.有没有一种简单的效果方法来做类似2.3465#=>2.35 最佳答案 向round传递一个参数,其中包含要舍入到的小数位数>>2.3465.round=>2>>2.3465.round(2)=>2.35>>2.3465.round(3)=>2.347 关于ruby-on-rails-Ruby:Ruby中的舍入flo

c++ - 关于 float 舍入错误

我不明白以下程序的输出:intmain(){floatx=14.567729f;floatsqr=x*x;floatdiff1=sqr-x*x;doublediff2=double(sqr)-double(x)*double(x);std::cout输出:6.63225e-0066.63225e-006我使用VS2010,x86编译器。我希望得到不同的输出06.63225e-006为什么diff1不等于0?为了计算sqr-x*x,编译器将浮点精度提高到两倍。为什么? 最佳答案 浮点寄存器是80位(在大多数现代CPU上)在表达式中,结

ios - 如何在 iOS 7.1.1 中去掉 UIView 中用 layer.cornerRadius 舍入的细边框?

我有一个自定义的UIView,它通过像这样使用layer.cornerRadius来圆角:-(void)layoutSubviews{[superlayoutSubviews];self.layer.cornerRadius=self.frame.size.width/2.0;self.layer.borderColor=[UIColorwhiteColor].CGColor;self.layer.borderWidth=2.0;self.layer.masksToBounds=YES;self.backgroundColor=[UIColorredColor];}我怎样才能摆脱非常细

ios - [int] = [float] + [int] 时舍入(Obj-C,iOS?)

在这种情况下:floata=0.99999f;intb=1000;intc=a+b;结果c=1001。我发现它发生是因为b被转换为float(特定于iOS),然后a+b没有足够的精度1000.9999并且(为什么?)四舍五入到更高的值。如果a是0.999f,我们得到c=1000-理论上正确的行为。所以我的问题是为什么float四舍五入到更高的值?在哪里描述了这种行为(或惯例)?我在iPhone模拟器、AppleLLVM4.2编译器上对此进行了测试。 最佳答案 在intc=a+b中,整数b先转换为float,再转换为2个float添加

iOS 将 Double 值四舍五入到小数点后 2 位,并将小数点后第三位向上舍入

我有像这样的双倍值17.125。它应该四舍五入到17.13如果我使用像%.2f这样的简单方法,它会显示17.12我还遵循了此处其他线程中描述的几种方法,例如使用NumberFormatter等等-但没有运气。也许有人对我有解决这个问题的建议?我必须自己四舍五入吗? 最佳答案 试试这个:floatnumber=17.125;NSNumberFormatter*format=[[NSNumberFormatteralloc]init];[formatsetNumberStyle:NSNumberFormatterDecimalStyle

iphone - 向上或向下舍入

我有一个float,我想将其向上或向下舍入到最接近的整数。例如:1.4=1.01.77=2.01.1=1.0等...我在ObjectiveC中这样做,所以我想我需要一个标准的数学函数...nearbyintf会做吗? 最佳答案 您可以使用math.h中定义的任何标准C库数学函数。nearbyintf可以工作,roundf或ceilf或floorf也可以,具体取决于您的需要。如果您在编辑器中选择并双击这些函数,Xcode将向您显示这些函数的文档(UNIX手册页)。 关于iphone-向上或

ios - 我如何在 UICollectionViewCell 中舍入 UIImageView?

在我的UICollectionViewCell类中,我这样写:-(void)layoutSubviews{[superlayoutSubviews];self.myImageView.layer.cornerRadius=CGRectGetHeight(self.myImageView.frame)/2;self.myImageView.layer.masksToBounds=YES;}但这并不是在所有情况下都能正常工作,它看起来像这样: 最佳答案 我遇到了类似的问题tryingtogetacollectionViewinsidea

php - 始终在 PHP 中显示指定的小数位数(向上舍入)

我需要显示一个具有指定小数位数(四舍五入)的float,特别是最多两位小数,即使该数字没有小数部分。我知道的一种方法是使用sprintf()PHP函数,如下所示。echosprintf("%0.2f",123);它返回123.00。echosprintf("%0.2f",123.4555);返回123.46但以下内容没有返回我需要的内容。echosprintf("%0.2f",123.455);//5isremoved-theright-mostdigit.我希望它返回123.46但它没有。它返回123.45。尽管差别不大,但在这两种情况下我都需要返回123.46。round()函数可

PHP整数舍入问题

echo(int)((0.1+0.7)*10);为什么上面输出7?我了解PHP如何向0舍入,但(0.1+0.7)*10不是被评估为float然后转换为整数吗?谢谢! 最佳答案 当小数在内部转换为二进制等价物时,精度会有所下降。计算值将类似于7.9+而不是预期的8。如果您需要高精度,请使用GMP函数族或bcmath图书馆。 关于PHP整数舍入问题,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

php - 如何向下舍入到php中最接近的有效数字

在php中有什么巧妙的方法可以四舍五入到最接近的有效数字吗?所以:0->09->910->1017->1077->70114->100745->7001200->1000? 最佳答案 $numbers=array(1,9,14,53,112,725,1001,1200);foreach($numbersas$number){printf('%d=>%d',$number,$number-$number%pow(10,floor(log10($number))));echo"\n";}不幸的是,当$number为0时,这会严重失败,但